Os Dados

Variáveis candidatas

Para a nossa análise, iremos escolher algumas variáveis que julgamos interessantes para uma possível visualização de relação com a variável dependente like.

Order

N-ésimo encontro da noite

O número do encontro pode ter influência na nossa variável dependente visto que os encontros anteriores podem ter influência direta na expectativa além de também contribuir na desenvoltura dos participantes, pois o participante pode “se soltar” mais fazendo com que os encontros sejam melhores.

int_corr

Correlação entre os interesses dos participantes.

Identificar-se com uma pessoa através de algum interesse pode ser um fator decisivo na hora do like.

samerace

Indica se os participantes são da mesma raça.

A vida tem dessas ¯\_(ツ)_/¯.

age_o - age

age: Idade do participante 1;
age_o: Idade do participante 2.

A diferença de idade pode influenciar positiva ou negativamente na decisão dos participantes.

field

Campo de estudo do participante 1.

race

Raça do participante 1:
1 - Black/African American;
2 - European/Caucasian-American;
3 - Latino/Hispanic American;
4 - Asian/Pacific Islander/Asian-American;
5 - Native American; 
6 - Other.

A vida tem dessas ¯\_(ツ)_/¯.

from

De onde o participante 1 é.

A vida tem dessas ¯\_(ツ)_/¯.

attr

Quão atraente o participante 1 achou o participante 2.

sinc

Quão sincero o participante 1 achou o participante 2.

intel

Quão inteligente o participante 1 achou o participante 2.

fun

Quão divertido o participante 1 achou o participante 2.

amb

Quão ambicioso o participante 1 achou o participante 2.

shar

Quanto o participante 1 acha que compartilha interesses e hobbies com o participante 2.

attr3_s

Quão atraente o participante acha que é.

Se o participante se acha muito atraente, talvez ele possa ser mais exigente.

Usaremos essa variável para verificar se a diferença entre a “atratividade” (attr3_s e attr) impacta no like.

sinc3_s

Quão sincero o participante acha que é.

Usaremos essa variável para verificar se a diferença de sinceridade (since3_s e sinc) impacta no like.

intel3_s

Quão inteligente o participante acha que é.

Usaremos essa variável para verificar se a diferença de inteligência (intel3_s e intel) impacta no like.

fun3_s

Quão divertido o participante acha que é.

Usaremos essa variável para verificar se a diferença de “diversão” (fun3_s e fun) impacta no like.

amb3_s

Quão ambicioso o participante acha que é.

É possível que uma pessoa ambiciosa queira outra pessoa para compartilhar ambições. Usaremos essa variável para verificar se a diferença de ambição (amb3_s e amb) impacta no like.

Escolhendo as variáveis independentes

Como temos muitas variáveis que podem influenciar positiva ou negativamente, iremos selecionar algumas e verificar a influência delas na nossa variável resposta, o like.

“brainy is the new sexy”

Como diria a querida Irene Adler, “brainy is the new sexy”.

Baseando-nos no que foi dito pela Irene Adler, iremos utilizar as “inteligências” e “atratividades” dos participantes e verificar se são fatores significantes na hora do like. Ou seja, as variáveis intel, attr, intel3_s e attr3_s.

Tratando os dados

Selecionando as variáveis que iremos analisar e retirando todos os registros que não possui um valor válido para qualquer uma das variáveis.

data %>%
  select(like, intel, intel3_s, attr, attr3_s) %>%
  na.omit(intel3_s, attr3_s, intel, attr) %>%
  mutate(
    intel3_s = as.numeric(intel3_s),
    attr3_s = as.numeric(attr3_s)
  ) -> brainy_sexy

Comportamento

intel

brainy_sexy %>%
  ggplot(aes(intel)) +
    geom_density(stat = "density",
      position = "identity", color = "darkorange") +
    geom_point(aes(x = median(intel), y = 0.2, color = 'Mediana'))

Podemos perceber que existe uma maior concentração de valores acima de 7 (mediana) para a variável intel.

O valor da mediana e a densidade a partir da mediana pode nos indicar que os participantes 2 parecem ter uma inteligência relativamente alta (acima da mediana).

intel3_s

brainy_sexy %>%
  ggplot(aes(intel3_s)) +
    geom_density(stat = "density",
      position = "identity", color = "darkgreen") +
    geom_point(aes(x = median(intel3_s), y = 0.6, color = 'Mediana'))

Podemos perceber que existe uma grande concentração de participantes que se dão uma nota 8 (de 10) sobre a sua inteligência. Além de termos algumas pessoas modestas (ou com a autoestima baixa), temos uma maior densidade para quando a avaliação é acima de 8.

attr

brainy_sexy %>%
  ggplot(aes(attr)) +
    geom_density(stat = "density",
      position = "identity", color = "darkred") +
    geom_point(aes(x = median(attr), y = 0.2, color = 'Mediana'))

O valor de attr para os participantes 2 é bem diversivificado, isso não quer dizer que sejam mais ou menos bonitas pelo fato de não termos uma definição dos próprios participantes o que é uma pessoa atraente para eles. Mas para facilitar a nossa análise, iremos usar essa variável como um conjunto de outros atributos, não somente a beleza física.

attr3_s

brainy_sexy %>%
  ggplot(aes(attr3_s)) +
  geom_density(stat = "density",
      position = "identity", color = "darkcyan") +
  geom_point(aes(x = median(attr3_s), y = 0.5, color = 'Mediana'))

Por outro lado, alguns dos participantes 1 se auto classificaram com sendo atraentes (7 de 10).

Perguntas

Qual a influência da inteligência dos participantes sob o fato de o participante 1 ter gostado do participante 2?

Somente para o participante 1

mod_ip1 <- lm(like ~ intel3_s, 
          data = brainy_sexy)

glance(mod_ip1) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic p.value    df logLik   AIC   BIC
## *     <dbl>         <dbl> <dbl>     <dbl>   <dbl> <int>  <dbl> <dbl> <dbl>
## 1  0.000468    -0.0000361  1.78     0.928   0.335     2 -3953. 7911. 7928.
## # ... with 2 more variables: deviance <dbl>, df.residual <int>

Com um R² de 0.0004684427 podemos perceber que o que o participante pensa sobre si mesmo a cerca da inteligência não tem tanta significância (separadamente) na decisão.

Somente para o participante 2

mod_ip2 <- lm(like ~ intel, 
          data = brainy_sexy)

glance(mod_ip2) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic   p.value    df logLik   AIC
## *     <dbl>         <dbl> <dbl>     <dbl>     <dbl> <int>  <dbl> <dbl>
## 1     0.242         0.242  1.55      633. 2.23e-121     2 -3678. 7362.
## # ... with 3 more variables: BIC <dbl>, deviance <dbl>, df.residual <int>

Com os valores obtidos podemos perceber o modelo com a inteligência do participante 2 explica aproximadamente 24% da nossa variável resposta (like).

Para os dois participantes

mod_ip1p2 <- lm(like ~ intel3_s + intel, 
          data = brainy_sexy)

glance(mod_ip1p2) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic   p.value    df logLik   AIC
## *     <dbl>         <dbl> <dbl>     <dbl>     <dbl> <int>  <dbl> <dbl>
## 1     0.242         0.241  1.55      316. 5.70e-120     3 -3678. 7364.
## # ... with 3 more variables: BIC <dbl>, deviance <dbl>, df.residual <int>

Como vimos mais acima que a inteligência do participante 1 não tem tanta significância sobre a decisão final, era esperado que também obtivessemos praticamente o valor da “significância” inteligência do participante 2.

A diferença entre quão inteligentes “são”

brainy_diff <- brainy_sexy %>% mutate(intel_dif = intel - intel3_s)

mod_diff <- lm(like ~ intel_dif, 
          data = brainy_diff)

glance(mod_diff) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic  p.value    df logLik   AIC   BIC
## *     <dbl>         <dbl> <dbl>     <dbl>    <dbl> <int>  <dbl> <dbl> <dbl>
## 1     0.149         0.149  1.64      347. 1.42e-71     2 -3793. 7592. 7608.
## # ... with 2 more variables: deviance <dbl>, df.residual <int>

Visualizando a importância da diferença de inteligência dos participantes, percebemos que esse modelo explica aproximadamente 14% dos dados.

Intervalos de confiança

Utilizaremos o modelo lm(like ~ intel3_s + intel).

tidy(mod_ip1p2, 
     conf.int = TRUE, 
     conf.level = 0.95)
## # A tibble: 3 x 7
##   term        estimate std.error statistic   p.value conf.low conf.high
##   <chr>          <dbl>     <dbl>     <dbl>     <dbl>    <dbl>     <dbl>
## 1 (Intercept)   2.10      0.280      7.49  1.01e- 13   1.55      2.64  
## 2 intel3_s     -0.0185    0.0286    -0.648 5.17e-  1  -0.0746    0.0375
## 3 intel         0.566     0.0225    25.1   3.30e-121   0.522     0.610
tidy(mod_ip1p2, 
     conf.int = TRUE, 
     conf.level = 0.95)  %>%
  filter(term != "(Intercept)") %>%
  ggplot(aes(term, estimate, ymin = conf.low, ymax = conf.high)) +
  geom_errorbar(size = 0.8, width= 0.4) +
  geom_point(color = "darkgreen", size = 2) +
  geom_hline(yintercept = 0, colour = "darkred") +
  labs(x = "Variável",
       y = "Valor estimado (95% de confiança)")

É positiva? Negativa?

A inteligência do participante 2 tem valores entre [0.52204315, 0.61041362] com 95% de confiança, ou seja, eles possuem um efeito sempre positivo na variável resposta.

Como é possível ver mais acima, a inteligência do participante 1 passa pelo eixo y = 0 (com 95% de confiança) o que nos indica um efeito meio incerto, podendo ser positivo ou negativo.

De modo geral, a inteligência do participante tem uma influência positiva na decisão final. Podemos perceber que a inteligência do participante 2 é bem mais “importante” do que a do participante 1 para que haja um bom like, e isso de certo modo era esperado pois em um encontro você leva em consideração mais os aspectos da pessoa a qual você está tendo o encontro.

É significante?

Com 95% de confiança, podemos afirmar que a inteligência do participante 2 tem efeito significante sobre sobre o resultado justamente por não passar pelo eixo y = 0.

Por outro lado, a inteligência do participante 1 não nos trás muita informação útil, visto que passa pelo eixo y = 0 com 95% de confiança.

Levando em consideração a inteligência do participante 2 (ou a “soma” das duas inteligências), obtivemos valores próximos de 24%, o que não é um valor absurdamente alto ou que mostre uma significância que talvez fosse esperada.

Talvez brainy não seja tão o novo sexy assim como disse a Irene Adler.

É relevante?

Não podemos considerar esse modelo relevante pois ele explica somente 24% dos nossos dados.

Qual a influência da atração entre participantes sob o fato de o participante 1 ter gostado do participante 2?

Somente para o participante 1

mod_ap1 <- lm(like ~ attr3_s, 
          data = brainy_sexy)

glance(mod_ap1) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic p.value    df logLik   AIC   BIC
## *     <dbl>         <dbl> <dbl>     <dbl>   <dbl> <int>  <dbl> <dbl> <dbl>
## 1   0.00433       0.00382  1.77      8.61 0.00339     2 -3949. 7903. 7920.
## # ... with 2 more variables: deviance <dbl>, df.residual <int>

Com um R² de 0.004325186 podemos perceber que o que o participante pensa sobre si mesmo a cerca da atração não tem tanta significância (separadamente) na decisão.

Somente para o participante 2

mod_ap2 <- lm(like ~ attr, 
          data = brainy_sexy)

glance(mod_ap2) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic   p.value    df logLik   AIC
## *     <dbl>         <dbl> <dbl>     <dbl>     <dbl> <int>  <dbl> <dbl>
## 1     0.443         0.442  1.33     1573. 1.03e-253     2 -3374. 6753.
## # ... with 3 more variables: BIC <dbl>, deviance <dbl>, df.residual <int>

Com os valores obtidos podemos perceber o modelo com o quão atraente o participante 2 é explica aproximadamente 44% da nossa variável resposta (like).

Para os dois participantes

mod_ap1p2 <- lm(like ~ attr3_s + attr, 
          data = brainy_sexy)

glance(mod_ap1p2) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic   p.value    df logLik   AIC
## *     <dbl>         <dbl> <dbl>     <dbl>     <dbl> <int>  <dbl> <dbl>
## 1     0.444         0.443  1.33      791. 3.99e-253     3 -3371. 6750.
## # ... with 3 more variables: BIC <dbl>, deviance <dbl>, df.residual <int>

Como vimos mais acima, o quão atraente o participante 1 é não tem tanta significância sobre a decisão final, era esperado que também obtivessemos praticamente o valor da “significância” o valor do participante 2.

A diferença entre quão atrantes “são”

sexy_diff <- brainy_sexy %>% mutate(attr_dif = attr - attr3_s)

mod_diff2 <- lm(like ~ attr_dif, 
          data = sexy_diff)

glance(mod_diff2) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic   p.value    df logLik   AIC
## *     <dbl>         <dbl> <dbl>     <dbl>     <dbl> <int>  <dbl> <dbl>
## 1     0.231         0.230  1.56      594. 6.89e-115     2 -3693. 7392.
## # ... with 3 more variables: BIC <dbl>, deviance <dbl>, df.residual <int>

Visualizando a importância da diferença do quão atraente “são” os participantes, percebemos que esse modelo explica aproximadamente 23% dos dados.

Intervalos de confiança

Utilizaremos o modelo lm(like ~ attr3_s + attr).

tidy(mod_ap1p2, 
     conf.int = TRUE, 
     conf.level = 0.95)
## # A tibble: 3 x 7
##   term        estimate std.error statistic   p.value conf.low conf.high
##   <chr>          <dbl>     <dbl>     <dbl>     <dbl>    <dbl>     <dbl>
## 1 (Intercept)   1.93      0.166      11.6  2.25e- 30  1.61       2.26  
## 2 attr3_s       0.0433    0.0191      2.26 2.39e-  2  0.00572    0.0808
## 3 attr          0.628     0.0159     39.6  7.87e-253  0.597      0.659
tidy(mod_ap1p2, 
     conf.int = TRUE, 
     conf.level = 0.95)  %>%
  filter(term != "(Intercept)") %>%
  ggplot(aes(term, estimate, ymin = conf.low, ymax = conf.high)) +
  geom_errorbar(size = 0.8, width= 0.4) +
  geom_point(color = "darkgreen", size = 2) +
  geom_hline(yintercept = 0, colour = "darkred") +
  labs(x = "Variável",
       y = "Valor estimado (95% de confiança)")

É positiva? Negativa?

O valor para atração dos dois participantes tem valores positivos e que não cortam o eixo y = 0. Ou seja, com 95% de confiança, podemos dizer que eles possuem um efeito sempre positivo na variável resposta.

É significante?

Como nenhuma das duas variáveis passam pelo eixo y = 0 e que também o modelo em questão explica 44% da nossa variável resposta, podemos dizer com 95% de confiança, que é sim significante.

É relevante?

Não podemos considerar esse modelo relevante pois ele explica menos de 50% (apenas 44%) dos nossos dados. Embora seja um valor maior que para o modelo utilizando a inteligência dos participantes, ainda não é um modelo bom o suficiente.

Qual a influência dos valores de atração e inteligência na decisão final?

mod_final <- lm(like ~ intel + attr,
          data = brainy_sexy)

glance(mod_final) 
## # A tibble: 1 x 11
##   r.squared adj.r.squared sigma statistic   p.value    df logLik   AIC
## *     <dbl>         <dbl> <dbl>     <dbl>     <dbl> <int>  <dbl> <dbl>
## 1     0.511         0.510  1.24     1033. 5.45e-308     3 -3244. 6497.
## # ... with 3 more variables: BIC <dbl>, deviance <dbl>, df.residual <int>

Com o modelo em questão, conseguimos explicar 51% da nossa amostra. O que não é um valor muito grande, mas como estamos utilizando uma quantidade bem menor de atributos que o conjunto de dados nos fornece, acredito que é uma boa marca.

tidy(mod_final, 
     conf.int = TRUE, 
     conf.level = 0.95)
## # A tibble: 3 x 7
##   term        estimate std.error statistic   p.value conf.low conf.high
##   <chr>          <dbl>     <dbl>     <dbl>     <dbl>    <dbl>     <dbl>
## 1 (Intercept)    0.473    0.142       3.32 9.10e-  4    0.194     0.753
## 2 intel          0.323    0.0195     16.6  5.45e- 58    0.285     0.362
## 3 attr           0.529    0.0161     33.0  2.33e-190    0.498     0.561
tidy(mod_final, 
     conf.int = TRUE, 
     conf.level = 0.95)  %>%
  filter(term != "(Intercept)") %>%
  ggplot(aes(term, estimate, ymin = conf.low, ymax = conf.high)) +
  geom_errorbar(size = 0.8, width= 0.4) +
  geom_point(color = "darkgreen", size = 2) +
  geom_hline(yintercept = 0, colour = "darkred") +
  labs(x = "Variável",
       y = "Valor estimado (95% de confiança)")

É positiva? Negativa?

O valor para as variáveis participantes tem valores positivos e que não cortam o eixo y = 0. Ou seja, com 95% de confiança, podemos dizer que eles possuem um efeito sempre positivo na variável resposta, ou seja, quando a atração aumenta (principalmente) e a inteligência aumentam, a tendência é que a chance de o participante 1 gostar do participante 2 também aumenta.

É significante?

Como nenhuma das duas variáveis passam pelo eixo y = 0 e que também o modelo em questão explica 51% da nossa variável resposta, podemos dizer com 95% de confiança, que é sim significante.

É relevante?

Como dito mais acima, acredito ser uma boa marca dado o modelo que está sendo usado. Contudo, um modelo que explica apenas 51% dos dados não é lá o modelo mais adequado para uma regressão.

Mas como a nossa pergunta está interessada apenas em verificar se existe influência das duas variáveis na hora de dar o like no participante, é um modelo válido porém não o melhor existente.

Análise de Resíduos

mod_final.res <- resid(mod_final)
std.resid <- rstandard(mod_final)
like <- brainy_sexy$like

resid_data <- data.frame(mod_final.res, std.resid,like,
                       stringsAsFactors = FALSE)
resid_data %>% 
  sample_n(10)
##      mod_final.res  std.resid like
## 529     -0.8842484 -0.7121143    3
## 1498     6.1302316  4.9434756    9
## 577      0.4988089  0.4015338    8
## 1777     2.0281365  1.6319354    9
## 327      0.2340290  0.1882591    7
## 799      0.4102265  0.3300399    6
## 615      1.0281365  0.8272877    8
## 1853     2.7633565  2.2228974    9
## 567      3.5572315  2.8679270    8
## 131      1.0867915  0.8741893    7
resid_data %>%
  ggplot(aes(like, mod_final.res)) +
  geom_point(alpha = 0.4) +
  geom_hline(yintercept = 0,
             color = "darkorange") +
  labs(x = "Variável Resposta (like)", y = "Resíduos") +
  ggtitle("Análise de Resíduos")

Aparentemente o modelo escolhido não parece se adequar/ajustar aos dados de uma forma convincente.

Conclusão

Qual a influência dos valores de atração e inteligência na decisão final?

É positiva? Negativa?

Como já dito mais acima, a inteligência e a atração pelo participante 2 tem uma influência positiva. Quão mais inteligente e atraente o participante 1 notar que o participante 2 é, maior é o valor do like.

É significante?

Com 95% de confiança, nós temos evidências de que são fatores significantes. Como vimos, o intervalo de confiança é totalmente acima do eixo y = 0.

É relevante?

Como já mencionado em textos mais acima, o fator que tem mais “peso” na nossa variável resposta é o quão o participante 1 acha o participante 2. Em outras palavras, isso quer dizer que para um encontro em condições semelhantes às que estão presentes na nossa amostra, é mais interessante para você solteirão ou solteirona ser atraente (attr) do que ser inteligente (intel) pois assim a chance de você receber um valor alto no like é melhor.

Infelizmente a frase de Irene Adler não se aplica à nossa amostra.